﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 付款单行AITDTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class PayBillLineAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public PayBillLineAITDTOData()
		{
			initData();
		}
		private void initData()
		{
					LineNum= 0; 
				
		
					Money=0m; 
		
					PayProperty= 0; 
				
		
		
		
		
		
		
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        	        			if (this.SettlementMethod != null) 
			{
				this.SettlementMethod.DoSerializeKeyList(dict);
			}
	        			if (this.PayBkAcc != null) 
			{
				this.PayBkAcc.DoSerializeKeyList(dict);
			}
	        	        			if (this.IncomeExpendItem != null) 
			{
				this.IncomeExpendItem.DoSerializeKeyList(dict);
			}
	        	        			if (this.DescFlexField != null) 
			{
				this.DescFlexField.DoSerializeKeyList(dict);
			}
	        	        	        	        	        	        			if (this.Project != null) 
			{
				this.Project.DoSerializeKeyList(dict);
			}
	        			if (this.PayBillUseLines!=null)
			{
				foreach(ufida.u9.ait.openapi.PayBillUseLineAITDTOData objdata in this.PayBillUseLines)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
			
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public PayBillLineAITDTOData(  System.Int32 lineNum  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData settlementMethod  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData payBkAcc  , System.Decimal money  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData incomeExpendItem  , System.Int32 payProperty  , ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData descFlexField  , System.String recBkAccount  , System.String recBkAccName  , System.String recCardNum  , System.String recBk  , System.String recBkCode  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData project  , List<ufida.u9.ait.openapi.PayBillUseLineAITDTOData> payBillUseLines  )
		{
			initData();
			this.LineNum = lineNum;
			this.SettlementMethod = settlementMethod;
			this.PayBkAcc = payBkAcc;
			this.Money = money;
			this.IncomeExpendItem = incomeExpendItem;
			this.PayProperty = payProperty;
			this.DescFlexField = descFlexField;
			this.RecBkAccount = recBkAccount;
			this.RecBkAccName = recBkAccName;
			this.RecCardNum = recCardNum;
			this.RecBk = recBk;
			this.RecBkCode = recBkCode;
			this.Project = project;
			this.PayBillUseLines = payBillUseLines;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 行号
		/// 付款单行AITDTO.Misc.行号
		/// </summary>
		private System.Int32 m_lineNum ;
		[DataMember(IsRequired=false)]
		public System.Int32 LineNum
		{
			get	
			{	
				return m_lineNum ;
			}
			set	
			{	
				m_lineNum = value ;	
			}
		}
			
		

		/// <summary>
		/// 结算方式
		/// 付款单行AITDTO.Misc.结算方式
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_settlementMethod ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SettlementMethod
		{
			get	
			{	
				return m_settlementMethod ;
			}
			set	
			{	
				m_settlementMethod = value ;	
			}
		}
			
		

		/// <summary>
		/// 付款银行账号
		/// 付款单行AITDTO.Misc.付款银行账号
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_payBkAcc ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PayBkAcc
		{
			get	
			{	
				return m_payBkAcc ;
			}
			set	
			{	
				m_payBkAcc = value ;	
			}
		}
			
		

		/// <summary>
		/// 付款金额
		/// 付款单行AITDTO.Misc.付款金额
		/// </summary>
		private System.Decimal m_money ;
		[DataMember(IsRequired=false)]
		public System.Decimal Money
		{
			get	
			{	
				return m_money ;
			}
			set	
			{	
				m_money = value ;	
			}
		}
			
		

		/// <summary>
		/// 收支项目
		/// 付款单行AITDTO.Misc.收支项目
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_incomeExpendItem ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData IncomeExpendItem
		{
			get	
			{	
				return m_incomeExpendItem ;
			}
			set	
			{	
				m_incomeExpendItem = value ;	
			}
		}
			
		

		/// <summary>
		/// 用途
		/// 付款单行AITDTO.Misc.用途
		/// </summary>
		private System.Int32 m_payProperty ;
		[DataMember(IsRequired=false)]
		public System.Int32 PayProperty
		{
			get	
			{	
				return m_payProperty ;
			}
			set	
			{	
				m_payProperty = value ;	
			}
		}
			
		

		/// <summary>
		/// 描述性弹性域
		/// 付款单行AITDTO.Misc.描述性弹性域
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData m_descFlexField ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
			
		

		/// <summary>
		/// 收款银行账号
		/// 付款单行AITDTO.Misc.收款银行账号
		/// </summary>
		private System.String m_recBkAccount ;
		[DataMember(IsRequired=false)]
		public System.String RecBkAccount
		{
			get	
			{	
				return m_recBkAccount ;
			}
			set	
			{	
				m_recBkAccount = value ;	
			}
		}
			
		

		/// <summary>
		/// 收款银行名称
		/// 付款单行AITDTO.Misc.收款银行名称
		/// </summary>
		private System.String m_recBkAccName ;
		[DataMember(IsRequired=false)]
		public System.String RecBkAccName
		{
			get	
			{	
				return m_recBkAccName ;
			}
			set	
			{	
				m_recBkAccName = value ;	
			}
		}
			
		

		/// <summary>
		/// 收款卡号
		/// 付款单行AITDTO.Misc.收款卡号
		/// </summary>
		private System.String m_recCardNum ;
		[DataMember(IsRequired=false)]
		public System.String RecCardNum
		{
			get	
			{	
				return m_recCardNum ;
			}
			set	
			{	
				m_recCardNum = value ;	
			}
		}
			
		

		/// <summary>
		/// 收款银行
		/// 付款单行AITDTO.Misc.收款银行
		/// </summary>
		private System.String m_recBk ;
		[DataMember(IsRequired=false)]
		public System.String RecBk
		{
			get	
			{	
				return m_recBk ;
			}
			set	
			{	
				m_recBk = value ;	
			}
		}
			
		

		/// <summary>
		/// 收款银行编码
		/// 付款单行AITDTO.Misc.收款银行编码
		/// </summary>
		private System.String m_recBkCode ;
		[DataMember(IsRequired=false)]
		public System.String RecBkCode
		{
			get	
			{	
				return m_recBkCode ;
			}
			set	
			{	
				m_recBkCode = value ;	
			}
		}
			
		

		/// <summary>
		/// 项目
		/// 付款单行AITDTO.Misc.项目
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_project ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Project
		{
			get	
			{	
				return m_project ;
			}
			set	
			{	
				m_project = value ;	
			}
		}
			
		

		/// <summary>
		/// 付款单用途
		/// 付款单行AITDTO.Misc.付款单用途
		/// </summary>
		private List<ufida.u9.ait.openapi.PayBillUseLineAITDTOData> m_payBillUseLines ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.PayBillUseLineAITDTOData> PayBillUseLines
		{
			get	
			{	
				if (m_payBillUseLines == null )
				{
					List<ufida.u9.ait.openapi.PayBillUseLineAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.PayBillUseLineAITDTOData>() ;
					m_payBillUseLines = n_m_list ;
				}
				return m_payBillUseLines ;
			}
			set	
			{	
				m_payBillUseLines = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																												
		#endregion 
	} 	
}
